package org.wak.character.display
{
	/**
	 * Definition of a CharacterDisplayObject 
	 * 
	 */	
	public interface ICharacterDisplayDefinition
	{
		/**
		 * Indicates if the CharacterDisplay should use BitmapMovieClips or flash MovieClips. 
		 * @return true if the DisplayDefinition corresponds to a BmpCharDisplay.
		 */		
		function IsBmpDisplay():Boolean ;
		
		/**
		 * flag to know if the display character is a dummy for testing. 
		 * @return true if the char display is the testing char display.
		 * 
		 */		
		function IsDummyDisplay():Boolean ;
		
		/**
		 * Gets the id of the CharacterDisplay .
		 * @return id of the CharacterDisplay
		 */		
		function GetCharDisplayId():String ;
		
		/**
		 * Return the animation asigned to a certain behaviour
		 * @see AnimationBehaviour 
		 * @param pBehaviour behaviour id 
		 * @return The animation asigned to the behaviour passed in pBehaviour.
		 * 
		 */		
		function GetAnimBehaviour( pBehaviour:String ):Animation ;
		
		/**
		 * Return an array of Animation s for each behaviour.  
		 * @return 
		 * 
		 */		
		function GetAnimBehaviours():Array ;
		
		/**
		 * The move speed of the display. usually the walk speed 
		 * @return Number
		 * 
		 */		
		function GetMoveSpeed():Number ;
		
		/**
		 * Aplied only on SingleBmpCharacterDisplay. 
		 * @return The delay of each frame in the animation.
		 * 
		 */		
		function GetFrameDelay():Number ;
		
		/**
		 * Character's Portrait id. 
		 * 
		 */		
		function GetPortrait():String ;
		
		/**
		 * Enable or disable the scaling update for the perspective in the scene. 
		 * @return 
		 * 
		 */				
		function get perspectiveEnabled():Boolean ;
		
		/**
		 * The scaling value for this display character. 
		 * @return 
		 * 
		 */		
		function get scale():Number ;
	}
}